# -*- coding: cp1252 -*-

from ConectaMysql import * #importa a classe conectaMysql

class GerenciaCompra(ConectaMysql):    
    def __init__(self):        
        ConectaMysql.__init__(self) #cria uma conexao

    
    def getCompras(self, parametro = "", listaCompraId = False):
        self.__parametro = parametro        
        self.__listaCompraId = listaCompraId

        self.__selectBase = ("SELECT * FROM view_compradetalhada") #seleciona a tabela view_compradetalhada

        self.__selectFiltro1 = (" WHERE (COMPRAid = '" + str(self.__parametro) + "')" +
                                " or (USUnome like '%" + str(self.__parametro) + "%')" +
                                " or (CLInome like '%" + str(self.__parametro) + "%')" +
                                " or (COMPRAdata = '" + str(self.__parametro) + "')")

        self.__selectFiltro2 = (" GROUP BY COMPRAid") #deixa os dados de forma ordenada


        if (parametro <> ""): #condicao se parametro for diferente de vazio     
            self.__select = self.__selectBase + self.__selectFiltro1      
        else:
            self.__select = self.__selectBase
            

        if (self.__listaCompraId == True): #verifica se a listacompraId eh verdadeira     
            self.__select = self.__select + self.__selectFiltro2


        self.__result  = self.executaQuery(self.__select) #executa um comando(consulta) sql
        
        self.__arrayCompra = [] #cria uma lista 
        for self.__linha in self.__result:
            self.__arrayCompra.append(self.__linha) #diciona self._linha na lista

        return self.__arrayCompra #retorna a lista de compra






    def setCompra(self,objectCompra):
        self.__objectCompra = objectCompra
        
        insertCompra = self.executaQuery(  #insere dados no banco
            "INSERT INTO tb_compra(" +
            "`COMPRA_VENDid`," +
            "`COMPRA_CLIid`," +
            "`COMPRA_MODOid`," +
            "`COMPRAvalorTotal`," +
            "`COMPRAparcelas`," +
	    "`COMPRAconta`" +
            "`COMPRAdata`" +
            ") VALUES (" +
            "'" + str(self.__objectCompra.getVendedorId())  + "'," +
            "'" + str(self.__objectCompra.getClienteId())  + "'," +
            "'" + str(self.__objectCompra.getModoPagId())  + "'," +
            "'" + str(self.__objectCompra.getValorTotal())  + "'," +
            "'" + str(self.__objectCompra.getParcelas())  + "'," +
            "'" + str(self.__objectCompra.getContaCliente()) + "',"  +
            "NOW)")



        self.__resultCompraMax = self.executaQuery("select max(COMPRAid) as CODMAX from tb_compra") #retorna consultando a tabela de compras

        for self.__compra in self.__resultCompraMax:
            self.__compraId = self.__compra["CODMAX"]        

        self.__listaVeiculo = self.__objectCompra.getListaVeiculo()

        for self.__veiculo in self.__listaVeiculo:
            self.__autoId = self.__veiculo['AUTOid']

            insertListaCompra = self.executaQuery("INSERT INTO tb_listacompra(" +         #insere lista de compras no banco
                                                  "`LIST_COMPRAid`," +
                                                  "`LIST_AUTOid`" +
                                                  ") VALUES (" +
                                                  "" + str(self.__compraId) + "," +
                                                  "" + str(self.__autoId) + ""  +
                                                  ")")
            

            
            updateVeiculo = self.executaQuery("UPDATE tb_automovel SET " +            #retorna a alteracao de intens no banco
                                                "AUTOdataSaida = NOW()," +
                                                "AUTOsituacao = 'V'" +            
                                                "WHERE (AUTOid = " + str(self.__autoId) + ")")



        print "Cadastrado com Sucesso"





            
